import java.io.*;

public class BufferedTest {
    //实现非文本文件的复制
    public static void main(String[] args) {
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        try {
            File srcFile = new File("IO/file/yys.jpg");
            File desFile = new File("IO/file/yys2.jpg");
            FileInputStream fis = new FileInputStream((srcFile));
            FileOutputStream fos = new FileOutputStream(desFile);

            // 缓冲流
            bis = new BufferedInputStream(fis);
            bos = new BufferedOutputStream(fos);

            //读取写入
            byte[] buffer = new byte[1024];
            int len;
            while((len = bis.read(buffer))!=-1){
                bos.write(buffer,0,len);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //资源关闭
            //关闭顺序，先关闭外层的流，再关闭内层的流
            //说明，在关闭外层流的同时，内层流也会自动进行关闭。关于内层流的关闭，可以省略。
            if(bos!=null)
                try {
                    bos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            if(bis!=null)
                try {
                    bis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            //        fos.close();
            //        fis.close();
        }
    }
}
